﻿// 3990. 砍树.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/3993/

给定一棵包含 n
 个节点的树。

你的任务是从树中删除尽可能多的边，使得剩余图形的所有连通分量都具有偶数个节点。

输入格式
第一行包含整数 n
。

接下来 n−1
 行，每行包含两个整数 a,b
，表示节点 a
 和 b
 之间存在一条边。

节点编号 1∼n
。

保证给出图形是一棵树。

输出格式
输出一个整数表示可以删除的最大可能边数。

如果无论如何都不可能使得剩余图形的所有连通分量都具有偶数个节点，则输出 −1
。

数据范围
前六个测试点满足，1≤n≤10
。
所有测试点满足，1≤n≤105
，1≤a,b≤n
。

输入样例1：
4
2 4
4 1
3 1
输出样例1：
1
输入样例2：
3
1 2
1 3
输出样例2：
-1

*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}
 